#ifndef __MESSAGES_DIALOG_H_
#define __MESSAGES_DIALOG_H_

#include <gtkmm/button.h>
#include <gtkmm/dialog.h>
#include <gtkmm/notebook.h>
#include <gtkmm/textview.h>

#include <vlc/vlc.h>
#include <vlc_interface.h>

class MessagesDialog : public Gtk::Dialog
{

public:
  
  MessagesDialog (intf_thread_t*, Gtk::Window*);
  virtual ~MessagesDialog ();

private:

  intf_thread_t *p_intf;

  void updateLog ();
  void close ();
  void updateTree ();
  void clear ();
  void save ();
  
  void switch_page (GtkNotebookPage*, guint);

  Gtk::VBox* create_msg_tab ();
  Gtk::VBox* create_module_tree_tab ();
  Gtk::TextView m_text_view;
  Gtk::Window *m_toplevel;

  Gtk::Button *m_refresh_button;
  Gtk::Button *m_save_button;
  Gtk::Button *m_clear_button;
  
  Gtk::Notebook m_notebook;

};

#endif /* __MESSAGES_DIALOG_H_ */
